package edu.hawaii.duedates.library;

import java.io.Serializable;

/**
 * This class represents a Library object consisting of its name, 
 * and an account login and password.
 * 
 * @author Ronn Reeves
 */
public interface ILibrary extends Serializable {
  /**
   * Gets the value of the login property.
   * 
   * @return The login.
   */
  public String getLogin();

  
  /**
   * Gets the value of the name property.
   * 
   * @return The name of this library.
   */
  public String getName();

  
  /**
   * Gets the value of the password property.
   * 
   * @return The password.
   */
  public String getPassword();

  
  /**
   * Sets the value of the login property.
   * 
   * @param value The login.
   */
  public void setLogin(String value);

  
  /**
   * Sets the value of the name property.
   * 
   * @param value The name of this library.
   */
  public void setName(String value);

  
  /**
   * Sets the value of the password property.
   * 
   * @param value The password.
   */
  public void setPassword(String value);
  
  /**
   * Sets the unique ID of this library.
   * 
   * @param id The unique id.
   */
  public void setUniqueId(int id);
  
  /**
   * Gets the unique ID of this library.
   * 
   * @return The unique id.
   */
  public int getUniqueId();
  
  /**
   * Returns the selected value of this library.
   * 
   * @param library The library.
   * @return True if selected; false otherwise.
   */
  public Boolean getSelected(Library library);

  /**
   * Sets the selected value of this library.
   * 
   * @param selected True if selected; false otherwise.
   */
  public void setSelected(Boolean selected);
  
  /**
   * Sets the value of the location property.
   * @param location the location to set
   */
  public void setLocation(String location);
  
  /**
   * Gets the value of the location property.
   * @return the location
   */
  public String getLocation();
}